// 获取二进制中的指定位
// (n >> i) & 1 可以获取指定位比特位
// leetcode 190. 颠倒二进制位
#include <iostream>
using namespace std;

int reverseBits(int n) {
    int ret = 0;
    for(int i = 0;i < 32;i++)
    {
        // 获取指定位比特位
        int t = (n >> i) & 1;
        ret |= (t << (31 - i));
    }
    return ret;
}

int main()
{
    int n = 43261596;
    int res = reverseBits(n);
    cout << res << endl;
    return 0;
}